<?php

/**
 * 项目入口文件
 *
 * 最后更新: 2023-10-13 20:53
 * 框架版本: 0.0.1
 */

declare(strict_types=1);

// 内容类型和编码
header('Content-Type: text/html; charset=utf-8');
// 仅发送文件的源作为引用地址
header("Referrer-Policy: origin");
// 禁用客户端的 MIME 类型嗅探行为
header("X-Content-Type-Options: nosniff");
// 防止被站外加入 iframe 中浏览
header("X-Frame-Options: DENY");
// 启用 XSS 过滤
header("X-XSS-Protection: 1; mode=block");
header('x-powered-by:Hello');


// 内存及运行时间起始记录
define('START_MEMORY',  memory_get_usage());
define('START_TIME',  microtime(true));
// 项目根目录
define('ROOT_PATH', str_replace("\\", "/", dirname(__DIR__) . '/'));
// 应用文件夹名称
define('APP_NAME', 'app');
// 应用目录
define('APP_PATH', ROOT_PATH . 'app/');
// 框架目录
define('FRAME_PATH', ROOT_PATH . 'mini/');
// 默认模块
define('DEFAULT_MODULE', 'home');
// 默认控制器
define('DEFAULT_CONTROLLER', 'Home');
// 默认方法
define('DEFAULT_METHOD', 'index');
// 模块静态文件前缀
define('MODULE_ASSETS_TRIGGER', '_assets');
// 请求类型
define('REQUEST_TYPE', strtolower($_SERVER['REQUEST_METHOD']));

// 自动加载
require __DIR__ . '/../vendor/autoload.php';

// 自动加载
// spl_autoload_register(function ($class_name) {
//     $target_filename = (string)realpath(FRAME_PATH . '/' . $class_name . '.php');

//     if (file_exists($target_filename)) {
//         return require_once($target_filename);
//     }

//     return false;
// });

// 初始化并启动应用
$init = (new mini\App())->start();
